
package Swing;

import common.CarUtils;
import common.CustomerUtils;
import common.StatusUtils;
import common.ReservationUtils;
import entities.Reservation;
import enums.CarEnum;
import enums.CustomerEnum;
import enums.ReservationEnum;
import enums.StatusEnum;
import java.awt.Color;
import java.awt.Frame;
import java.util.HashMap;
import javax.swing.JOptionPane;
import org.apache.commons.lang.StringUtils;
import org.joda.time.LocalDate;


public class ReservationDialog extends javax.swing.JDialog {
    CustomerUtils customerUtils;
    CarUtils carUtils;
    StatusUtils statusUtils;
    ReservationUtils reservationUtils;
    private final String RESERVATION_DLG_TITLE = "Termin naprawy";
    private int carId = 0;
    private int reservationId = 0;
    private boolean isEditable = false;

    public ReservationDialog(java.awt.Frame parent, boolean modal, int carId) {
        super(parent, modal);
        initComponents();
        customerUtils = new CustomerUtils();
        carUtils = new CarUtils();
        statusUtils = new StatusUtils();
        reservationUtils = new ReservationUtils();
        isEditable = false;
        initializeComponentsByCar(carId);
    }
    
    public ReservationDialog(Frame parent, int reservationId, boolean modal){
        super(parent, modal);
        initComponents();
        this.reservationId = reservationId;
        isEditable = true;
        initializeComponentsByReservation(reservationId);
    }
    
    private void initializeComponentsByCar(int carId){
        setTitle(RESERVATION_DLG_TITLE);
        this.carId = carId;
        lblRepairDate.setVisible(false);
        lbtxtArWarning.setText("");
        btnChangeRepairDate.setVisible(false);
        pnDeleteReservation.setVisible(false);
        HashMap<String, String> map = carUtils.getCarByIdAsHashMap(carId);
        lblCustomerFirstNameReservationDlg.setText(map.get(CustomerEnum.firstName.name()));
        lblCustomerLastNameReservationDlg.setText(map.get(CustomerEnum.lastName.name()));
        lblCarMarkReservationDlg.setText(map.get(CarEnum.mark.name()));
        lblCarTypeReservationDlg.setText(map.get(CarEnum.type.name()));
        lblCarYearOfProdReservationDlg.setText(map.get(CarEnum.yearOfProduction.name()));
        lblReservationStatus.setText(statusUtils.getStatusNameByCode(StatusEnum.WOR));
        initializeComboboxWithRepairDate();
    }
    
    private void initializeComboboxWithRepairDate(){
        ReservationUtils reservationUtils = new ReservationUtils();
        cbRepairDate.removeAllItems();
        for(LocalDate dt : reservationUtils.generateDatesInRange()){
            cbRepairDate.addItem(dt);
        }
    }

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jPanel1 = new javax.swing.JPanel();
        jLabel1 = new javax.swing.JLabel();
        lblCustomerFirstNameReservationDlg = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        lblCustomerLastNameReservationDlg = new javax.swing.JLabel();
        jPanel2 = new javax.swing.JPanel();
        jLabel3 = new javax.swing.JLabel();
        lblCarMarkReservationDlg = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        lblCarTypeReservationDlg = new javax.swing.JLabel();
        jLabel5 = new javax.swing.JLabel();
        lblCarYearOfProdReservationDlg = new javax.swing.JLabel();
        jPanel3 = new javax.swing.JPanel();
        jLabel6 = new javax.swing.JLabel();
        cbRepairDate = new javax.swing.JComboBox();
        jLabel7 = new javax.swing.JLabel();
        jScrollPane1 = new javax.swing.JScrollPane();
        txtArReservationDesctDlg = new javax.swing.JTextArea();
        lbtxtArWarning = new javax.swing.JLabel();
        lblRepairDate = new javax.swing.JLabel();
        btnChangeRepairDate = new javax.swing.JButton();
        btnSaveReservation = new javax.swing.JButton();
        jLabel8 = new javax.swing.JLabel();
        lblReservationStatus = new javax.swing.JLabel();
        pnDeleteReservation = new javax.swing.JPanel();
        btnDeleteReservation = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);

        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Klient"));

        jLabel1.setText("Imię:");

        lblCustomerFirstNameReservationDlg.setText("jLabel2");

        jLabel2.setText("Nazwisko:");

        lblCustomerLastNameReservationDlg.setText("jLabel3");

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(lblCustomerFirstNameReservationDlg)
                .addGap(52, 52, 52)
                .addComponent(jLabel2)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(lblCustomerLastNameReservationDlg)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE, false)
                    .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(lblCustomerFirstNameReservationDlg, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(lblCustomerLastNameReservationDlg, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addContainerGap(14, Short.MAX_VALUE))
        );

        jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("Samochód"));

        jLabel3.setText("Marka:");

        lblCarMarkReservationDlg.setText("jLabel4");

        jLabel4.setText("Model:");

        lblCarTypeReservationDlg.setText("jLabel5");

        jLabel5.setText("Rok produkcji:");

        lblCarYearOfProdReservationDlg.setText("jLabel6");

        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jLabel3)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(lblCarMarkReservationDlg)
                .addGap(53, 53, 53)
                .addComponent(jLabel4)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(lblCarTypeReservationDlg)
                .addGap(34, 34, 34)
                .addComponent(jLabel5)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(lblCarYearOfProdReservationDlg)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup()
                .addContainerGap(14, Short.MAX_VALUE)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel3)
                    .addComponent(lblCarMarkReservationDlg)
                    .addComponent(jLabel4)
                    .addComponent(lblCarTypeReservationDlg)
                    .addComponent(jLabel5)
                    .addComponent(lblCarYearOfProdReservationDlg))
                .addContainerGap())
        );

        jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder("Dane rezerwacji terminu naprawy"));

        jLabel6.setText("Termin naprawy:");

        cbRepairDate.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));

        jLabel7.setText("Opis usterki:");

        txtArReservationDesctDlg.setColumns(20);
        txtArReservationDesctDlg.setRows(5);
        jScrollPane1.setViewportView(txtArReservationDesctDlg);

        lbtxtArWarning.setText("jLabel9");

        lblRepairDate.setText("jLabel9");

        btnChangeRepairDate.setText("Zmień termin");
        btnChangeRepairDate.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnChangeRepairDateActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
        jPanel3.setLayout(jPanel3Layout);
        jPanel3Layout.setHorizontalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel3Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel3Layout.createSequentialGroup()
                        .addComponent(jLabel7)
                        .addGap(18, 18, 18)
                        .addComponent(jScrollPane1))
                    .addGroup(jPanel3Layout.createSequentialGroup()
                        .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanel3Layout.createSequentialGroup()
                                .addComponent(jLabel6)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(lblRepairDate))
                            .addComponent(lbtxtArWarning))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(cbRepairDate, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(40, 40, 40)
                        .addComponent(btnChangeRepairDate)
                        .addGap(0, 0, Short.MAX_VALUE)))
                .addContainerGap())
        );
        jPanel3Layout.setVerticalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel3Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel6)
                    .addComponent(cbRepairDate, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(lblRepairDate)
                    .addComponent(btnChangeRepairDate))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(lbtxtArWarning)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jLabel7)
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 84, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        btnSaveReservation.setText("Zapisz termin naprawy");
        btnSaveReservation.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnSaveReservationActionPerformed(evt);
            }
        });

        jLabel8.setText("Status rezerwacji:");

        lblReservationStatus.setText("jLabel9");

        btnDeleteReservation.setText("Anuluj rezerwację");
        btnDeleteReservation.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnDeleteReservationActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout pnDeleteReservationLayout = new javax.swing.GroupLayout(pnDeleteReservation);
        pnDeleteReservation.setLayout(pnDeleteReservationLayout);
        pnDeleteReservationLayout.setHorizontalGroup(
            pnDeleteReservationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnDeleteReservationLayout.createSequentialGroup()
                .addGap(123, 123, 123)
                .addComponent(btnDeleteReservation, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGap(122, 122, 122))
        );
        pnDeleteReservationLayout.setVerticalGroup(
            pnDeleteReservationLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnDeleteReservationLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(btnDeleteReservation)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(pnDeleteReservation, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jPanel3, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jPanel2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(jPanel1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(jLabel8)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(lblReservationStatus)
                        .addGap(0, 0, Short.MAX_VALUE)))
                .addContainerGap())
            .addGroup(layout.createSequentialGroup()
                .addGap(132, 132, 132)
                .addComponent(btnSaveReservation, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGap(131, 131, 131))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel8)
                    .addComponent(lblReservationStatus))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, 162, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(btnSaveReservation)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(pnDeleteReservation, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void btnSaveReservationActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnSaveReservationActionPerformed
        if(isEditable){
            updateReservationData(reservationId);
        } else {
            String answerAfterCheckingRepairDate = reservationUtils.checkReservationAtRepairDate(String.valueOf(cbRepairDate.getSelectedItem()));
            if(StringUtils.isNotEmpty(answerAfterCheckingRepairDate)){
                String countOfRepairsAtDate = "Ilość ustalonych napraw w dniu " + String.valueOf(cbRepairDate.getSelectedItem()); 
                int response = JOptionPane.showConfirmDialog(null, answerAfterCheckingRepairDate, countOfRepairsAtDate, JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
                if(response == JOptionPane.YES_OPTION){
                    prepareReservationDataToSave();
                }
            }
            else{
                prepareReservationDataToSave();
            }
        }
    }//GEN-LAST:event_btnSaveReservationActionPerformed

    private void btnChangeRepairDateActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnChangeRepairDateActionPerformed
        initializeComboboxWithRepairDate();
        cbRepairDate.setVisible(true);
    }//GEN-LAST:event_btnChangeRepairDateActionPerformed

    private void btnDeleteReservationActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnDeleteReservationActionPerformed
        String question = "Czy na pewno chcesz anulować rezerwację terminu naprawy?";
        String deleteConfirmation = "Anulowanie rezerwacji";
        int response = JOptionPane.showConfirmDialog(null, question, deleteConfirmation, JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
        if(response == JOptionPane.YES_OPTION){ 
          reservationUtils.deleteReservation(this.reservationId);
          lblReservationStatus.setForeground(Color.red);
          lblReservationStatus.setText(reservationUtils.getReservationDetails(this.reservationId).getStatus().getName());
        }
    }//GEN-LAST:event_btnDeleteReservationActionPerformed
    private boolean validateComponents(){
        boolean isValid = true;
        if(StringUtils.isEmpty(txtArReservationDesctDlg.getText())){
            lbtxtArWarning.setForeground(Color.red);
            lbtxtArWarning.setText("Opis usterki jest wymagany");
            isValid = false;
        }
        else{
            lbtxtArWarning.setText("");
            isValid = true;
        }
        return isValid;
    }
    
    private void prepareReservationDataToSave(){
        HashMap<String, String> map = new HashMap<>();
        map.put(CarEnum.carId.name(), String.valueOf(this.carId));
        map.put(ReservationEnum.description.name(), txtArReservationDesctDlg.getText());
        map.put(ReservationEnum.repairDate.name(), String.valueOf(cbRepairDate.getSelectedItem()));
        if(validateComponents()){
           reservationUtils.saveReservation(map);
           setVisible(false);
           dispose();         
        }
    }
    
private void initializeComponentsByReservation(int reservationId){
    setTitle(RESERVATION_DLG_TITLE);
    lblRepairDate.setVisible(true);
    cbRepairDate.setVisible(false);
    lbtxtArWarning.setText("");
    pnDeleteReservation.setVisible(true);
    reservationUtils = new ReservationUtils();
    Reservation reservation = reservationUtils.getReservationDetails(reservationId);
    lblReservationStatus.setText(reservation.getStatus().getName());
    lblCustomerFirstNameReservationDlg.setText(reservation.getCustomer().getFirstName());
    lblCustomerLastNameReservationDlg.setText(reservation.getCustomer().getLastName());
    lblCarMarkReservationDlg.setText(reservation.getCar().getMark());
    lblCarTypeReservationDlg.setText(reservation.getCar().getType());
    lblCarYearOfProdReservationDlg.setText(reservation.getCar().getYearOfProduction());
    txtArReservationDesctDlg.setText(reservation.getDescription());
    lblRepairDate.setText(reservation.getRepairDate().toString());
}    
    
private void updateReservationData(int reservationId){
    Reservation reservation = reservationUtils.getReservationDetails(reservationId);
    if(cbRepairDate.isVisible()){
        reservation.setRepairDate(new LocalDate(cbRepairDate.getSelectedItem()).toDate());
    }
    reservation.setDescription(txtArReservationDesctDlg.getText());
    reservationUtils.updateReservation(reservation);
    JOptionPane.showMessageDialog(null, "Dane zostały zapisane", "Potwierdzenie zapisu danych", JOptionPane.INFORMATION_MESSAGE);
    setDefaultCloseOperation(DISPOSE_ON_CLOSE);
    dispose();
}

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton btnChangeRepairDate;
    private javax.swing.JButton btnDeleteReservation;
    private javax.swing.JButton btnSaveReservation;
    private javax.swing.JComboBox cbRepairDate;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLabel jLabel7;
    private javax.swing.JLabel jLabel8;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JLabel lblCarMarkReservationDlg;
    private javax.swing.JLabel lblCarTypeReservationDlg;
    private javax.swing.JLabel lblCarYearOfProdReservationDlg;
    private javax.swing.JLabel lblCustomerFirstNameReservationDlg;
    private javax.swing.JLabel lblCustomerLastNameReservationDlg;
    private javax.swing.JLabel lblRepairDate;
    private javax.swing.JLabel lblReservationStatus;
    private javax.swing.JLabel lbtxtArWarning;
    private javax.swing.JPanel pnDeleteReservation;
    private javax.swing.JTextArea txtArReservationDesctDlg;
    // End of variables declaration//GEN-END:variables
}
